// pages/goos_detail/index.js
// 发送请求获取数据
import {request} from '../../request/index.js'
import regeneratorRuntime from '../../lib/runtime/runtime'


Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 商品详情数据的对象
        goodsObj:{}

    },
    goodsObj:{},
    // 存储商品信息的对象
    goodsInfo:{},



    /**
     * 生命周期函数--监听页面加载
     */ 
    onLoad: function (options) {
        // console.log(options)
       var {goods_id} =options;
       console.log(goods_id)
        this.getGoodsDetail(goods_id);


    },



    // 获取商品详情数据的方法
    async getGoodsDetail(goods_id){
       var goodsObj= await request({
            url:"/goods/detail",data:{goods_id}
        })
        this.goodsInfo= goodsObj;
        // console.log(this.goodsInfo)

        // 优化有用的数据
        this.goodsObj.goods_name=goodsObj.goods_name;
        this.goodsObj.goods_price=goodsObj.goods_price;
        // 优化原有图片webp格式，该格式在部分苹果设备不兼容
        this.goodsObj.goods_introduce=goodsObj.goods_introduce.replace(/\.webp/,".jpg");
        this.goodsObj.pics=goodsObj.pics;


        // console.log(goodsObj)
        this.setData({
            goodsObj:this.goodsObj

        })

    },



    // 2 点击轮播图 预览大图 
    //     1）给轮播图绑定点击事件
    //     2）调用小程序api previewImage
    handlePreviewImage(e){
        console.log(e)
        // 先构造要预览的图片数组
        const urls = this.goodsInfo.pics.map(v=>v.pics_mid);
         
        // 接收传递过来的图片url
        const current =e.currentTarget.dataset.url;

        wx.previewImage({
            current,
            urls
        })

    },



    // 3 点击 加入购物车
    //     1)先绑定事件
    //     2）获取缓存中的购物车数据 数组格式
    //     3）先判断该商品是否已经在购物车中
    //     4）已经存在 修改商品数据 执行购物车数量++ 从新把购物车数组 填充回缓存中
    //     5）不存在与购物车的数组中 直接给购物车数据添加一个新元素 新元素 带上 购买数量属性num 查询把购物车数组 填充回缓存中
    

    
    // 点击添加购物车的函数
    handleCartAdd(){
        // 获取缓存中的购物车数据 数组格式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
        let cart=wx.getStorageSync("cart")||[];
           console.log(cart)
 
        // 先判断该商品是否已经在购物车中
        let index= cart.findIndex(v=>v.goods_id===this.goodsInfo.goods_id);
        console.log(index)
        if(index===-1){
            // 不存在 第一次添加
            this.goodsInfo.num=1;
            this.goodsInfo.checked=true;
            console.log(this.goodsInfo)
            cart.push(this.goodsInfo)
            // 提示弹窗
            wx.showToast({
                title: '加入成功',
                icon:'success',
                mask:true
              })

        }else{
            // 已经存在购物车数据 执行 num++
            cart[index].num++;
            // 提示弹窗
            wx.showToast({
              title: '加入成功',
              icon:'success',
              mask:true
            })
            console.log("该数据已经在购物车中存在了"+this.goodsInfo)
        }

        // 5将购物车数组从新添加会缓存
        wx.setStorageSync('cart', cart)




    }
})